% 对比不同扩频序列，DS-CDMA在AWGN信道下的性能仿真
clear all;
user=[1, 4, 7];
EbNo=0:0.5:10;

for index=1:length(user)
    ber1(index,:)=dscdma(user(index),1);  % m 序列
    ber2(index,:)=dscdma(user(index),2);  % Gold序列
    ber3(index,:)=dscdma(user(index),3);  % 正交Gold序列
    ber4(index,:)=dscdma(user(index),4);  % 巴克码
    ber5(index,:)=dscdma(user(index),5);  % 巴克码偶
    ber6(index,:)=dscdma(user(index),6);  % 差集偶
end

figure
semilogy(EbNo, ber1(1,:),'-x', ...
         EbNo, ber2(1,:),'-o', ...
         EbNo, ber3(1,:),'-*', ...
         EbNo, ber4(1,:),'-square', ...
         EbNo, ber5(1,:),'-diamond', ...
         EbNo, ber6(1,:),'-^');
legend('m序列','Gold序列','正交Gold序列', '巴克码', '巴克码偶', '差集偶')
title('DS-CDMA在AWGN信道下的性能（单个用户）')
xlabel('信噪比EbNo(dB)')
ylabel('误比特率(BER)')

figure
semilogy(EbNo, ber1(2,:),'-x', ...
         EbNo, ber2(2,:),'-o', ...
         EbNo, ber3(2,:),'-*', ...
         EbNo, ber4(2,:),'-square', ...
         EbNo, ber5(2,:),'-diamond', ...
         EbNo, ber6(2,:),'-^');
legend('m序列','Gold序列','正交Gold序列', '巴克码', '巴克码偶', '差集偶')
title('DS-CDMA在AWGN信道下的性能（四个用户）')
xlabel('信噪比EbNo(dB)')
ylabel('误比特率(BER)')


figure
semilogy(EbNo, ber1(3,:),'-x', ...
         EbNo, ber2(3,:),'-o', ...
         EbNo, ber3(3,:),'-*', ...
         EbNo, ber4(3,:),'-square', ...
         EbNo, ber5(3,:),'-diamond', ...
         EbNo, ber6(3,:),'-^');
legend('m序列','Gold序列','正交Gold序列', '巴克码', '巴克码偶', '差集偶')
title('DS-CDMA在AWGN信道下的性能（七个用户）')
xlabel('信噪比EbNo(dB)')
ylabel('误比特率(BER)')

figure
semilogy(EbNo, ber5(1,:),'-x', ...
         EbNo, ber5(2,:),'-o', ...
         EbNo, ber5(3,:),'-*');
legend('单个用户','四个用户','七个用户')
title('DS-CDMA在AWGN信道下的性能（巴克码偶）')
xlabel('信噪比EbNo(dB)')
ylabel('误比特率(BER)')

figure
semilogy(EbNo, ber6(1,:),'-x', ...
         EbNo, ber6(2,:),'-o', ...
         EbNo, ber6(3,:),'-*');
legend('单个用户','四个用户','七个用户')
title('DS-CDMA在AWGN信道下的性能（差集偶）')
xlabel('信噪比EbNo(dB)')
ylabel('误比特率(BER)')